package com.gonsin.gnews.annotations;

import java.lang.annotation.*;

/**
 * 用于批注到消息发送器上，生成对应的消息发送平台
 * 该批注只能批注在继承了IBaseSender的类上
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.TYPE)
public @interface GNewsSender {

    /**
     * 该消息是否带标题
     * 设置【supportTitle】之后，前端设置版面就会显示标题一览
     */
    boolean supportTitle() default false;

    /**
     * 该消息是否支持点击跳转
     * 设置【supportLink】之后，前端设置版面就会显示链接一览
     */
    boolean supportLink() default false;

    /**
     * 该消息是否为多行
     * 设置【supportRows】之后，前端设置版面就会多行显示发送内容，模板内容会在templateBean.rows形式显示在代码中。
     */
    boolean supportRows() default false;

    /**
     * 该消息是否支持文本内容
     * 设置【supportContent】之后，前端设置版面就会文本形式显示发送内容
     */
    boolean supportContent() default false;

    /**
     * 该消息是否为第三方的模板id
     * 设置【supportTemplateCode】之后，前端设置版面就会显示第三方模板id一项
     */
    boolean supportTemplateCode() default false;

    /**
     * 发送器所属平台，例如dingtalk
     */
    String platform();

    /**
     * 发送器所属平台的名字，用于显示在前端，例如 钉钉
     */
    String platformName();

    /**
     * 排序位置
     */
    int order() default 0;


    /**
     * 是否启用
     * 如果设为false，则此发送器相当于没有
     */
    boolean enable() default true;

}
